<?xml version="1.0" encoding="UTF-8"?>
<GenerateModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="generateMetaModel_Module.xsd">
  <PythonExport 
      Father="DocumentObjectExtensionPy" 
      Name="GroupExtensionPy" 
      Twin="GroupExtension" 
      TwinPointer="GroupExtension" 
      Include="App/DocumentObjectGroup.h" 
      Namespace="App" 
      FatherInclude="App/DocumentObjectExtensionPy.h" 
      FatherNamespace="App">
    <Documentation>
      <Author Licence="LGPL" Name="Werner Mayer" EMail="wmayer@users.sourceforge.net" />
      <UserDocu>Extension class which allows grouping of document objects</UserDocu>
    </Documentation>
    <Methode Name="newObject">
      <Documentation>
        <UserDocu>Create and add an object with given type and name to the group</UserDocu>
      </Documentation>
    </Methode>
    <Methode Name="addObject">
        <Documentation>
            <UserDocu>Add an object to the group. Returns all objects that have been added.</UserDocu>
        </Documentation>
    </Methode>
    <Methode Name="addObjects">
        <Documentation>
            <UserDocu>Adds multiple objects to the group. Expects a list and returns all objects that have been added.</UserDocu>
        </Documentation>
    </Methode>
    <Methode Name="setObjects">
        <Documentation>
            <UserDocu>Sets the objects of the group. Expects a list and returns all objects that are now in the group.</UserDocu>
        </Documentation>
    </Methode>
    <Methode Name="removeObject">
        <Documentation>
            <UserDocu>Remove an object from the group and returns all objects that have been removed.</UserDocu>
        </Documentation>
    </Methode>
    <Methode Name="removeObjects">
        <Documentation>
            <UserDocu>Remove multiple objects from the group. Expects a list and returns all objects that have been removed.</UserDocu>
        </Documentation>
    </Methode>
    <Methode Name="removeObjectsFromDocument">
      <Documentation>
        <UserDocu>Remove all child objects from the group and document</UserDocu>
      </Documentation>
    </Methode>
    <Methode Name="getObject">
      <Documentation>
        <UserDocu>Return the object with the given name</UserDocu>
      </Documentation>
    </Methode>
    <Methode Name="hasObject">
        <Documentation>
            <UserDocu>hasObject(obj, recursive=false)
                Checks if the group has a given object
                @param obj        the object to check for.
                @param recursive  if true check also if the obj is child of some sub group (default is false).
            </UserDocu>
      </Documentation>
    </Methode>
    <CustomAttributes />
  </PythonExport>
</GenerateModel>
